home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1999 / MacHack 1999.toast / Presentations / STL & Modern C++ / STL9.cp < prev   
Encoding:
Text File  |  1999-06-25  |  930 b   |  31 lines  |  [TEXT/CWIE]

  1. // STL9.cp
  2. #include <iostream>
  3. #include <string>
  4.  
  5. int main()
  6. {
  7.     std::string    a = "Standard strings are easy to initialize.";
  8.     a += " And they can grow without end as needed.";
  9.     std::string::iterator    iter = std::find(a.begin(), a.end(), 'A');
  10.     
  11.     if (iter != a.end())
  12.     {
  13.         std::size_t    offset = iter - a.begin();
  14.         a[offset] = 'a';    // They use array notation like C strings.
  15.     }
  16.     iter = std::find(a.begin(), a.end(), '.');
  17.     if (iter != a.end())
  18.     {
  19.         a.erase(iter);    // They are STL containers.
  20.     }
  21.     std::cout << a << std::endl;
  22.     std::cout << "Size is ";
  23.     // std::cout << strlen(a);                // No coercion to char *.
  24.     std::cout << std::strlen(a.c_str());    // But it easy to get a char *.
  25.     // std::cout << a.size();                // Better...
  26.     std::cout << "." << std::endl;
  27.     // They automagically delete their allocated memory when they go out of scope.
  28. }
  29. // Standard strings are easy to initialize and they can grow without end as needed.
  30. // Size is 80.
  31.